var prefix = "/sysContractTemplate";
$(function() {
    layui.use(['table','form'], function(){
        var table = layui.table,form = layui.form;
        var dropdown = layui.dropdown;

        // 创建渲染实例
        table.render({
            elem: '#exampleTable'
            ,id:'exampleTable'
            // prefix
            ,url: prefix + "/getSysContractPage" // 此处为静态模拟数据，实际使用时需换成真实接口
            ,cellMinWidth: 80
            , page: { //支持传入 laypage 组件的所有参数（某些参数除外，如：jump/elem） - 详见文档
                layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //自定义分页布局
                , curr: pages //设定初始在第 5 页
                , groups: 5 //只显示 1 个连续页码
                , limit : 15
                , limits : [15,30,50,100,200]
            }
            ,request:{
                pageName: 'curr',
                limitName: 'pageSize'
            }
            ,defaultToolbar: false
            ,loading: false
            ,cols: [[
                {
                    field : 'name',
                    align : 'center',
                    title : '合同名称'
                },
                {
                    field : 'projectName',
                    align : 'center',
                    title : '合同类型'
                },
                {
                    field: 'status',
                    title: '合同状态',
                    align : 'center',
                    width:40,
                    templet:(d)=>{
                        return upAndDownPrices?((d.status=='0'?`   <input type="checkbox" checked `:'<input type="checkbox" ')+` name="open"  value="${d.id}"
      title="启用|禁用" myid="${d.id}" lay-skin="switch" lay-filter="switchTest" title="是否启用"> 
						`):(d.state=='0'?'<span class="label label-primary">启用</span>':'<span class="label label-warning">禁用</span>')
                    }
                },
                {
                    field : 'createTime',
                    align : 'center',
                    title : '创建时间'
                },
                {
                    field : 'version',
                    align : 'center',
                    title : '版本信息'
                },
                {
                    title : '操作',
                    field : 'id',
                    align : 'center',
                    templet : function(d) {

                        // let i ;
                        //
                        // if( d.status != 0 ){
                        //     i = `<a class="btn btn-primary btn-sm " href="#" mce_href="#" title="禁用" onclick="changeState(${ d.id + 'n'},0)">启用</a>`
                        // }else{
                        //     i = `<a class="btn btn-primary btn-sm " href="#" mce_href="#" title="禁用" onclick="changeState(${d.id + 'n'},1)">禁用</a>`
                        // }
                        var e = '<a  class="btn btn-primary btn-sm '+look_info+'" href="#" mce_href="#" title="详情" onclick="lookInfo(\''
                            + d.id
                            + '\',\''
                            + d.projectName
                            + '\')"><i class="fa fa-send"></i></a> ';

                        var ss = '<a class="btn btn-success btn-sm '+look_remove+'" href="#" title="删除"  mce_href="#" onclick="remove(\''
                            + d.id
                            + '\')"><i class="fa fa-remove"></i></a>';
                        return  e  + ss;
                    }
                }
            ]]
            ,response: {
                statusCode: 0 //重新规定成功的状态码为 200，table 组件默认为 0
            }
            ,parseData: function(res){ //将原始数据解析成 table 组件所规定的数据
                if( res.code != 0 ){

                    return false;
                }
                if(Number(res.data.total)>0&&res.data.records.length==0){
                    pages--;
                    if(pages>0) {
                        table.reload('exampleTable', {
                            page: {curr: pages},
                            where: {
                                name: $('#name').val(),
                                type: $('#type').val(),
                                state: $('#state').val()
                            }
                        })
                    }
                }

                return {
                    "code": res.code, //解析接口状态
                    "msg": res.msg, //解析提示文本
                    "count": res.data.total, //解析数据长度
                    "data": res.data.records //解析数据列表
                };
            }
            ,jump: function (obj, first) {
                //首次不执行
                if (!first) {
                    pages = obj.curr
                }
            }
            ,error: function(res, msg){
                console.log(res, msg)
            }

            ,done: function (res){
                layer.close()
                hindLoading()
            }
        });
        form.on('switch(switchTest)', function(data){
            let id=$(data.othis[0].parentNode).find('input').attr('myid')
            var loadIndex = layer.load(0);

            // AjaxPost('/sysContract/updateContractStatus', {id,status:this.checked?'0':'1'}).then(function (response){
            //     parent.layer.msg("操作成功");
            //     layer.close(loadIndex)
            //     load();
            // }).catch(error => {
            //     layer.msg(error.msg)
            //     layer.close(loadIndex)
            //     load();
            // })

            $.ajax({
                url : prefix+"/updateSysContract",
                type : "post",
                contentType: "application/json",
                data : JSON.stringify({
                    'id' : id,
                    'status': this.checked?0:1
                }),
                success : function(r) {
                    if (r.code==0) {
                        layer.msg(r.msg);
                        layer.close(loadIndex)
                        load();
                    }else{
                        layer.msg(r.msg);
                        layer.close(loadIndex)
                        load();
                    }
                }
            });

        })
        var $ = layui.$, active = {
            reload: function(){
                //执行重载
                table.reload('exampleTable', {
                    page: {
                        curr: 1 //重新从第 1 页开始
                    }
                    ,where: {
                        name: $('#name').val(),
                        type: $('#type').val(),
                        state: $('#state').val()
                    }
                });
            }
        };

        $('.demoTable .layui-btn').on('click', function(){
            var type = $(this).data('type');
            active[type] ? active[type].call(this) : '';
        });

        //触发表格复选框选择
        table.on('checkbox(test)', function(obj){
            console.log(obj)
        });

        //触发表格单选框选择
        table.on('radio(test)', function(obj){
            console.log(obj)
        });

    });
});

var pages = 1;
/**
 * 所有的重置表格
 */
function load(){
    layui.use(['table'], ()=>{
        layui.table.reload('exampleTable',{
            where: {
                name: $('#name').val(),
                type: $('#type').val(),
                state: $('#state').val()
            }
        })
    })
}


$("#add").click(function(){
    layer.open({
        type : 2,
        title : '增加',
        maxmin : true,
        shadeClose : false, // 点击遮罩关闭层
        area : [ '800px', '520px' ],
        content : '/sysContractTemplate/add' // iframe的url
    });
})

/**
 *
 * 表格详情点击事件
 */
function lookInfo(id, name) {
    getParticulars(id)
        .then((res) => {
            if (res.code === '0') {
                const list = res.data;
                const stateName = list.status === 0 ? '禁用' : '启用';

                layer.open({
                    type: 2,
                    title: '需求详情',
                    maxmin: true,
                    shadeClose: false,
                    area: ['800px', '520px'],
                    content: prefix + '/info?id='+ id,
                    success: function (layero, index) {
                        const body = layer.getChildFrame('body', index);
                        body.find("#sysUserid").val(list.sysUserid);
                        body.find("#name").val(list.name);
                        body.find("#projectName").val(name);
                        body.find("#status").val(stateName);
                        // body.find("#pdfPath").val(list.pdfPath);
                        body.find("#version").val(list.version);
                        body.find("#createTime").val(list.createTime);
                        body.find("#version").val(list.version);
                        if(!list.pdfPath) return
                        body.find("#upImg").attr('src', '../../../img/pdf.png')
                        body.find("#pdfPath").val(list.pdfPath)
                        body.find('.upload').removeClass('layui-hide')
                        body.find("#openPdf").removeClass("layui-hide").attr("href",list.pdfPath)


                    },
                });
            } else {
                layer.msg(res.msg);
            }
        })
}

/***
 * 根据id获取合同详情
 */
function getParticulars(id) {
    try{
        return $.ajax({
            url : prefix + "/getSysContractById",
            type : "get",
            data : {
                'id' : id
            },
            success : function(r) {
                if (r.code==0) {
                    // console.log(r.data,'详情')
                }else{
                    layer.msg(r.msg);
                }
            }
        });
    }catch (e) {
        console.log(e)
    }
}


function remove(id) {
    layer.confirm('确定要删除选中的记录？', {
        btn : [ '确定', '取消' ]
    }, function() {
        $.ajax({
            url : prefix+"/deletedSysContract",
            type : "get",
            data : {
                'id' : id
            },
            success : function(r) {
                if (r.code==0) {
                    layer.msg(r.msg);
                    load();
                }else{
                    layer.msg(r.msg);
                }
            }
        });
    })
}

// function changeState(id,number){
//     $.ajax({
//         url : prefix+"/updateSysContract",
//         type : "post",
//         contentType: "application/json",
//         data : JSON.stringify({
//             'id' : id.toString(),
//             'status': number
//         }),
//         success : function(r) {
//             if (r.code==0) {
//                 layer.msg(r.msg);
//                 load();
//             }else{
//                 layer.msg(r.msg);
//             }
//         }
//     });
// }